home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / biz / swood / FW_AllInOne.lha / Makros / ObjektManager < prev    next >
Text File  |  1998-01-18  |  9KB  |  385 lines

  1. /* Optimized with RexxOpt 1.7 */
  2.  
  3. Parse ARG FW
  4. IF ~show('L','tritonrexx.library') then
  5. IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN;DO
  6. 'ShowMessage 2 1 "Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
  7. exit
  8. END
  9. R='0A'X
  10. If FW='' then;do
  11. Address='FinalW'
  12. Options results
  13. STATUS PORTNAME
  14. FW=result
  15. End
  16. address(FW)
  17. SIGNAL ON syntax
  18. If open('Hilfe',"S:FW_Paket.prefs","R") then;do
  19. HilfeVerz=readln('Hilfe')
  20. Call Close('Hilfe')
  21. End
  22. else HilfeVerz=''
  23. Anzeige.0=4
  24. Anzeige.1="      Ich durchsuche das Dokument"
  25. Anzeige.2="      nach vorhandenen Objekten..."
  26. Anzeige.3=""
  27. Anzeige.4="             Bitte warten..."
  28. apptags='TRCA_Name     ObjektManager',
  29. 'TRCA_LongName "Übersicht der Objekte"',
  30. 'TRCA_Info     "für FinalWriter"',
  31. 'TRCA_Version  "1.0 registered"',
  32. 'TRCA_Release  "3"',
  33. 'TRCA_Date     "09.01.98"',
  34. 'TAG_END'
  35. windowtags=WindowID(1),
  36. WindowPosition('TRWP_CENTERDISPLAY'),
  37. WindowFlags('TRWF_NOMINTEXTWIDTH'),
  38. PubScreenName('FinalWriterPubScreen'),
  39. WindowTitle("ObjektManager"),
  40. BeginMenu('Projekt'),
  41. MenuItem('Q_Verlassen...',104),
  42. BeginMenu('?'),
  43. MenuItem('?_Info',101),
  44. MenuItem('H_Hilfe',103),
  45. 'VertGroupEAC',
  46. 'SpaceS',
  47. 'HorizGroupEAC',
  48. 'Space',
  49. TextN("Abschnitt       S.   ID - Typ              Abbildungstitel       "),
  50. 'Space',
  51. 'EndGroup',
  52. 'HorizGroupEAC',
  53. 'Space',
  54. FWListSS(Anzeige,1,0,0) 'TRAT_Flags TRLV_ShowSelected',
  55. 'Space',
  56. 'EndGroup',
  57. 'HorizGroupEAC',
  58. 'Space',
  59. Button('Ab_schnitte',5),
  60. 'SpaceS',
  61. Button('_Alle',6),
  62. 'Space',
  63. 'EndGroup',
  64. 'SpaceS',
  65. 'HorizSeparator',
  66. 'SpaceS',
  67. 'HorizGroupEAC',
  68. 'Space',
  69. Button('_Zeigen',2),
  70. 'SpaceS',
  71. Button('_Bearbeiten',3),
  72. 'SpaceS',
  73. Button('_Löschen',4),
  74. 'Space',
  75. 'EndGroup',
  76. 'SpaceS',
  77. 'EndGroup',
  78. 'EndProject'
  79. app=TR_CREATEAPP('TRCA_Name Graphix')
  80. IF app~='00000000'x THEN;DO
  81. window1=TR_OPENPROJECT(app,windowtags)
  82. IF window1 ~='00000000'x THEN;DO
  83. ende=0
  84. GetSectionSetup Name
  85. FirstAbschnitt=Result
  86. Status ParaPos
  87. FirstPos=Result
  88. Call AbsErmitteln
  89. alle=1
  90. i=0
  91. Do a=1 to Menge
  92. GoToSection Abschnitte.a
  93. GraphicTool
  94. Abs=Abschnitte.a
  95. Call Look
  96. end
  97. GoToSection FirstAbschnitt
  98. MoveToLine FirstPos
  99. Call TR_SETATTRIBUTE(window1,1,'TROB_LISTVIEW',Anzeige)
  100. DO WHILE ~ende
  101. CALL TR_WAIT(app,'')
  102. DO WHILE TR_HANDLEMSG(app,'event')
  103. IF event.trm_class='TRMS_NEWVALUE' THEN;DO
  104. SELECT
  105. WHEN event.trm_id=1 THEN;Do
  106. Zeile=event.trm_data+1
  107. Call EnDis
  108. END
  109. OTHERWISE
  110. NOP
  111. END
  112. END
  113. IF event.trm_class='TRMS_ACTION' THEN;DO
  114. SELECT
  115. WHEN event.trm_id=2 THEN;Do
  116. Zeile=TR_GETATTRIBUTE(window1,1,'TRAT_VALUE')+1
  117. if anzeige.0=0 then leave
  118. GetDocItemPrefs Decimal
  119. Punkt=Result
  120. If Punkt="Comma" then DocItemPrefs Decimal Period
  121. GotoSection Absch.Zeile
  122. GraphicTool
  123. Call Selectos
  124. GetObjectCoords ID.Zeile
  125. Parse Var Result Page links oben .
  126. NewFrame Page 1 1 2
  127. Type " "
  128. Backspace
  129. NewFrame Page links oben+1 2
  130. Type " "
  131. Backspace
  132. SelectObject ID.Zeile
  133. If Punkt="Comma" then DocItemPrefs Decimal Comma
  134. END
  135. WHEN event.trm_id=3 THEN;Do
  136. Zeile=TR_GETATTRIBUTE(window1,1,'TRAT_VALUE')+1
  137. if anzeige.0=0 then leave
  138. GotoSection Absch.Zeile
  139. GraphicTool
  140. Call Selectos
  141. If Typ.Zeile=1 then ImportPrefs PROMPT
  142. If (Typ.Zeile=2|Typ.Zeile=3) then LinePrefs PROMPT
  143. If (Typ.Zeile=4|Typ.Zeile=5) then BoxPrefs PROMPT
  144. If (Typ.Zeile=6|Typ.Zeile=9) then OvalPrefs PROMPT
  145. If Typ.Zeile=7 then TextBlockPrefs PROMPT
  146. If Typ.Zeile=10 then ShapePrefs PROMPT
  147. If Typ.Zeile=11 then TablePrefs PROMPT
  148. If Typ.Zeile=12 then FramePrefs PROMPT
  149. EditBody
  150. END
  151. WHEN event.trm_id=4 THEN;Do
  152. Zeile=TR_GETATTRIBUTE(window1,1,'TRAT_VALUE')+1
  153. if anzeige.0=0 then leave
  154. GotoSection Absch.Zeile
  155. GraphicTool
  156. Call Selectos
  157. DeleteObject ID.Zeile
  158. EditBody
  159. Do z=Zeile to Anzeige.0-1
  160. zz=z+1
  161. Anzeige.z=Anzeige.zz
  162. ID.z=ID.zz
  163. Typ.z=Typ.zz
  164. Seite.z=Seite.zz
  165. Name.z=Name.zz
  166. Art.z=Art.zz
  167. Absch.z=Absch.zz
  168. End
  169. z=z-1
  170. Anzeige.0=z
  171. ID.0=z
  172. Typ.0=z
  173. Seite.0=z
  174. Name.0=z
  175. Art.0=z
  176. Absch.0=z
  177. i=0
  178. Call TR_SETATTRIBUTE(window1,1,'TROB_LISTVIEW',Anzeige)
  179. Zeile=TR_GETATTRIBUTE(window1,1,'TRAT_VALUE')+1
  180. Call EnDis
  181. END
  182. WHEN event.trm_id=5 THEN;Do
  183. Call AbsErmitteln
  184. Call Fenster
  185. alle=0
  186. GoToSection Abschnitte.auswahl
  187. GraphicTool
  188. Abs=Abschnitte.auswahl
  189. i=0
  190. Call Look
  191. Call TR_SETATTRIBUTE(window1,1,'TROB_LISTVIEW',Anzeige)
  192. Zeile=TR_GETATTRIBUTE(window1,1,'TRAT_VALUE')+1
  193. Call EnDis
  194. END
  195. WHEN event.trm_id=6 THEN;Do
  196. Call AbsErmitteln
  197. alle=1
  198. i=0
  199. Do a=1 to Menge
  200. GoToSection Abschnitte.a
  201. GraphicTool
  202. Abs=Abschnitte.a
  203. Call Look
  204. end
  205. Call TR_SETATTRIBUTE(window1,1,'TROB_LISTVIEW',Anzeige)
  206. Zeile=TR_GETATTRIBUTE(window1,1,'TRAT_VALUE')+1
  207. Call EnDis
  208. END
  209. WHEN event.trm_id=101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"ObjektManager V1.0 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
  210. WHEN event.trm_id=103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"ObjektManager.guide"||d2c(34)
  211. WHEN event.trm_id=104 THEN ende=1
  212. OTHERWISE NOP
  213. END
  214. END
  215. IF event.trm_class='TRMS_CLOSEWINDOW' THEN ende=1
  216. END
  217. END
  218. CALL TR_CLOSEPROJECT(window1)
  219. END
  220. CALL TR_DELETEAPP(app)
  221. END
  222. Exit
  223. EnDis:
  224. If Typ.Zeile=8 then Call TR_SETATTRIBUTE(window1,3,'TRAT_DISABLED',1)
  225. else Call TR_SETATTRIBUTE(window1,3,'TRAT_DISABLED',0)
  226. Return
  227. Look:
  228. u=0
  229. GraphicTool
  230. Anzeige.0=i;ID.0=i;Typ.0=i;Seite.0=i;Name.0=i;Art.0=i;Absch.0=i
  231. FirstObject
  232. ObjectID=result
  233. Do While ObjectID~=0
  234. Call Grafiken
  235. NextObject ObjectID
  236. ObjectID=result
  237. end
  238. GetPageSetup Pages
  239. Vorlage=result
  240. Do u=1 to 2
  241. If u=1 then EditRightMaster
  242. If u=2 then;do
  243. If Vorlage="LeftRight" then EditLeftMaster
  244. else leave
  245. End
  246. FirstObject
  247. ObjectID=result
  248. Do While ObjectID~=0
  249. Call Grafiken
  250. NextObject ObjectID
  251. ObjectID=result
  252. end
  253. end
  254. EditBody
  255. RETURN
  256. Selectos:
  257. SelectObject ID.Zeile
  258. If RC=10 then;do
  259. EditRightMaster
  260. SelectObject ID.Zeile
  261. If (RC=10&Vorlage="LeftRight") then;do
  262. EditLeftMaster
  263. SelectObject ID.Zeile
  264. end
  265. end
  266. Return
  267. Grafiken:
  268. i=i+1
  269. Anzeige.0=i;ID.0=i;Typ.0=i;Seite.0=i;Name.0=i;Art.0=i;Absch.0=i
  270. ID.i=ObjectID
  271. GetObjectTitle ObjectID
  272. Name.i=result
  273. GetObjectType ObjectID
  274. Typ.i=result
  275. Select
  276. When Typ.i=1 then Art.i="Grafik"
  277. When Typ.i=2 then Art.i="Linie"
  278. When Typ.i=3 then Art.i="Pfeil"
  279. When Typ.i=4 then Art.i="Rechteck"
  280. When Typ.i=5 then Art.i="abg. Rechteck"
  281. When Typ.i=6 then Art.i="Oval"
  282. When Typ.i=7 then Art.i="Textblock"
  283. When Typ.i=8 then Art.i="Gruppierung"
  284. When Typ.i=9 then Art.i="Kreisbogen"
  285. When Typ.i=10 then Art.i="Umrißobjekt"
  286. When Typ.i=11 then Art.i="Tabelle"
  287. When Typ.i=12 then Art.i="Textrahmen"
  288. Otherwise NOP
  289. end
  290. GetObjectCoords ObjectID
  291. Parse var result Seite .
  292. Seite.i=Seite
  293. If u=1 then Seite.i="rSV"
  294. If u=2 then Seite.i="lSV"
  295. Absch.i=Abs
  296. IDe.i=ID.i
  297. If Length(IDe.i)=1 then IDe.i=" "||IDe.i
  298. If alle=1 then;do
  299. abo=Abschnitte.a
  300. If Length(abo)>11 then abo=Left(abo,11)
  301. Anzeige.i=abo||copies(" ",12-Length(abo))||" "||Seite.i||copies(" ",4-Length(Seite.i))||" "||IDe.i||"-"||Art.i||copies(" ",13-Length(Art.i))||Name.i
  302. end
  303. else;do
  304. abo=Abschnitte.auswahl
  305. If Length(abo)>11 then abo=Left(abo,11)
  306. Anzeige.i=abo||copies(" ",12-Length(abo))||" "||Seite.i||copies(" ",4-Length(Seite.i))||" "||IDe.i||"-"||Art.i||copies(" ",13-Length(Art.i))||Name.i
  307. end
  308. RETURN
  309. Fenster:
  310. windowtags2=WindowID(2),
  311. WindowPosition('TRWP_CENTERDISPLAY'),
  312. WindowFlags('TRWF_NOCLOSEGADGET|TRWF_ACTIVATESTRGAD|TRWF_NOZIPGADGET'),
  313. PubScreenName('FinalWriterPubScreen'),
  314. WindowTitle("Abschnitt auswählen"),
  315. 'VertGroupA',
  316. 'SpaceS',
  317. 'HorizGroupA',
  318. 'SpaceS',
  319. FWListSelC(Abschnitte,1,0) 'TRAT_Flags TRLV_ShowSelected',
  320. 'SpaceS',
  321. 'EndGroup',
  322. 'SpaceS',
  323. 'EndGroup',
  324. 'EndProject'
  325. app2=TR_CREATEAPP('TRCA_Name Abschnitt')
  326. IF app2~='00000000'x THEN;DO
  327. window2=TR_OPENPROJECT(app2,windowtags2)
  328. IF window2 ~='00000000'x THEN;DO
  329. ende=0
  330. DO WHILE ~ende
  331. CALL TR_WAIT(app2,'')
  332. DO WHILE TR_HANDLEMSG(app2,'event')
  333. IF event.trm_class='TRMS_NEWVALUE' THEN;DO
  334. SELECT
  335. WHEN event.trm_id=1 THEN;do
  336. auswahl=TR_GETATTRIBUTE(window2,1,'TRAT_VALUE')+1
  337. ende=1
  338. END
  339. OTHERWISE
  340. NOP
  341. END
  342. END
  343. IF event.trm_class='TRMS_CLOSEWINDOW' THEN ende=1
  344. END
  345. END
  346. CALL TR_CLOSEPROJECT(window2)
  347. END
  348. CALL TR_DELETEAPP(app2)
  349. END
  350. ende=0
  351. RETURN
  352. AbsErmitteln:
  353. i=0
  354. GetSectionList "ð"
  355. Abschnitt=result
  356. Do ForEver
  357. pos=pos("ð",Abschnitt)
  358. i=i+1
  359. Abschnitte.0=i
  360. If pos=0 then leave
  361. Abschnitte.i=Left(Abschnitt,pos-1)
  362. Abschnitt=Delstr(Abschnitt,1,pos)
  363. end
  364. Abschnitte.i=Abschnitt
  365. Menge=i
  366. RETURN
  367. syntax:
  368. CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc),20)
  369. quit:
  370. PARSE ARG message,rcode
  371. IF app ~='00000000'x THEN;DO
  372. IF message ~='' THEN
  373. address command 'RequestChoice title=Achtung body="'message'" Gadgets=Okay PubScreen=FinalWriterPubScreen >NIL:'
  374. CALL TR_DELETEAPP(app)
  375. END
  376. ELSE;DO
  377. IF message ~='' THEN;DO
  378. SAY message
  379. SAY
  380. OPTIONS PROMPT 'Bitte <RETURN> drücken'
  381. PULL taste
  382. END
  383. END
  384. address command "flushtrx all"
  385. EXIT(rcode)